/**
 *
 */
package com.naiterui.ehp.bs.doctor.vo.medication;

import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(value = "MedicationBoxVO", description = "药品列表VO")
public class MedicationBoxVO extends InventoryInfoVo implements Serializable {

    /**
     * 字段或域定义：<code>serialVersionUID</code>
     */
    private static final long serialVersionUID = 8064728145187674439L;
    /**
     * 商品ID
     */
    @ApiModelProperty(value = "商品ID")
    private Long id;
    /**
     * 商品名
     */
    @ApiModelProperty(value = "商品名")
    private String name;
    /**
     * 通用名
     */
    @ApiModelProperty(value = "通用名")
    private String commonName;
    /**
     * 推荐使用药品名称
     */
    @ApiModelProperty(value = "推荐使用药品名称——【医生端V3.4.0-by gongbaoqiang】")
    private String recomName;
    /**
     * 生产厂商
     */
    @ApiModelProperty(value = "生产厂商")
    private String manufacturer;
    /**
     * 销售中
     */
    @ApiModelProperty(value = "是否销售中(false,true)")
    private boolean sale;
    /**
     * 规格
     */
    @ApiModelProperty(value = "规格")
    private String spec;
    /**
     * 用法用量
     */
    @ApiModelProperty(value = "用法用量")
    private String usage;
    /**
     * 商品图
     */
    @ApiModelProperty(value = "商品图片")
    private String image;
    /**
     * 销售价
     */
    @ApiModelProperty(value = "销售价")
    private String salePrice;
    /**
     * 市场价
     */
    @ApiModelProperty(value = "市场价")
    private String marketPrice;
    /**
     * 是否处方药
     */
    @ApiModelProperty(value = "是否处方药(false,true)")
    private boolean isPrescribed;
    /**
     * 添加人数
     */
    @ApiModelProperty(value = "添加人数")
    private Integer addNum;
    /**
     * 是否已添加
     */
    @ApiModelProperty(value = "是否已添加(false,true)")
    private boolean added;
    /**
     * sku列表
     */
    private List<SkuVO> skus;
    /**
     * 商品skuId：<code>skuId</code>
     */
    @ApiModelProperty(value = "商品skuId")
    private Long skuId;
    /**
     * 推荐购药预计获取积分：<code>recomPoint</code>
     */
    @ApiModelProperty(value = "推药预计获取积分")
    private String recomPoint;
    /**
     * 医生提成 OR 商品指数 ：<code>drCommission</code>
     */
    @ApiModelProperty(value = "小七指数")
    private String drCommission;
    /**
     * 购买数量：<code>quantity</code>
     */
    @ApiModelProperty(value = "购买数量")
    private Integer quantity;
    /**
     * 数量单位：<code>quantityUnit</code>
     */
    @ApiModelProperty(value = "数量单位")
    private String quantityUnit;
    /**
     * 0表示非药品，1表示药品
     */
    @ApiModelProperty(value = "药品类型(0表示非药品,1表示药品)")
    private Integer drugType;
    /**
     * 是否为推荐商品 1.是 0.否
     */
    @ApiModelProperty(value = "是否为推荐商品(1.是 ,0.否)")
    private Integer isRecommend;
    /**
     * 推荐药品对应的目标药品id
     */
    @JsonIgnore
    @ApiModelProperty(value = "推荐药品对应的目标药品id")
    private Long replacePid;
    /**
     * 正大天晴标识：<code>isZhengda</code>
     */
    @ApiModelProperty(value = "正大天晴标识(true,false)")
    private boolean isZhengda;

    @ApiModelProperty(value = "是否门诊医生(true:是、false:不是),决定显示调价按钮")
    private boolean modifyFlag;

    @ApiModelProperty(value = "是否已经调价(true:已调、false未调) ")
    private boolean modified;

    @ApiModelProperty(value = "市场积分")
    private String marketPoint;

    @ApiModelProperty(value = "是否显示小七指数或市场积分,0:不显示,1:显示小七指数,2:显示市场积分")
    private Integer showCommission;

    @ApiModelProperty(value = "是否显示病历数据收集标签,0:不显示,1：显示")
    private Integer showRecomCollect;

    @ApiModelProperty(value = "医生常用药ID")
    private Long boxId;
    /**
     * 是否推荐：1.推荐药品
     */
    public static final Integer IS_RECOMMEND = 1;
    /**
     * 是否推荐：0.非推荐药品
     */
    public static final Integer IS_NOT_RECOMMEND = 0;
    /**
     * 是否显示病历数据收集：0 不显示
     */
    public static final Integer SHOW_RECOM_COLLECT_NO = 0;
    /**
     * 是否显示病历数据收集：1 显示
     */
    public static final Integer SHOW_RECOM_COLLECT_YES = 1;


    /**
     * 创建MedicationBoxVO实例
     *
     * @throws 异常信息
     */
    public MedicationBoxVO() {
        super();
    }

    /**
     * 创建MedicationBoxVO实例
     *2
     * @param id
     * @param name
     * @param commonName
     * @param spec
     * @param usage
     * @param image
     * @param salePrice
     * @param marketPrice
     *
     * @throws 异常信息
     */
    public MedicationBoxVO(Long id, String name, String commonName, String manufacturer, boolean sale, String spec, String usage, String image,
                           String salePrice, String marketPrice, boolean isPrescribed, String drCommission, Integer drugType) {
        super();
        this.id = id;
        this.name = name;
        this.commonName = commonName;
        this.manufacturer = manufacturer;
        this.sale = sale;
        this.spec = spec;
        this.usage = usage;
        this.image = image;
        this.salePrice = salePrice;
        this.marketPrice = marketPrice;
        this.addNum = 0;
        this.added = true;
        this.drCommission = drCommission;
        this.drugType = drugType;
        this.isZhengda = false;
    }

    public MedicationBoxVO(Long id, String name, String commonName, String manufacturer, boolean sale, String spec, String usage, String image,
                           String salePrice, String marketPrice, boolean isPrescribed, String drCommission, Integer drugType, boolean isZhengda) {
        super();
        this.id = id;
        this.name = name;
        this.commonName = commonName;
        this.manufacturer = manufacturer;
        this.sale = sale;
        this.spec = spec;
        this.usage = usage;
        this.image = image;
        this.salePrice = salePrice;
        this.marketPrice = marketPrice;
        this.addNum = 0;
        this.added = true;
        this.drCommission = drCommission;
        this.drugType = drugType;
        this.isZhengda = isZhengda;
    }

    public String getDrCommission() {
        return this.drCommission;
    }

    public void setDrCommission(String drCommission) {
        this.drCommission = drCommission;
    }

    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCommonName() {
        return this.commonName;
    }

    public void setCommonName(String commonName) {
        this.commonName = commonName;
    }

    public String getManufacturer() {
        return this.manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public boolean isSale() {
        return this.sale;
    }

    public void setSale(boolean sale) {
        this.sale = sale;
    }

    public String getSpec() {
        return this.spec;
    }

    public void setSpec(String spec) {
        this.spec = spec;
    }

    public String getUsage() {
        return this.usage;
    }

    public void setUsage(String usage) {
        this.usage = usage;
    }

    public String getImage() {
        return this.image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getSalePrice() {
        return this.salePrice;
    }

    public void setSalePrice(String salePrice) {
        this.salePrice = salePrice;
    }

    public String getMarketPrice() {
        return this.marketPrice;
    }

    public void setMarketPrice(String marketPrice) {
        this.marketPrice = marketPrice;
    }

    public boolean isPrescribed() {
        return this.isPrescribed;
    }

    public void setPrescribed(boolean isPrescribed) {
        this.isPrescribed = isPrescribed;
    }

    public Integer getAddNum() {
        return this.addNum;
    }

    public void setAddNum(Integer addNum) {
        this.addNum = addNum;
    }

    public boolean isAdded() {
        return this.added;
    }

    public void setAdded(boolean added) {
        this.added = added;
    }

    public List<SkuVO> getSkus() {
        return this.skus;
    }

    public void setSkus(List<SkuVO> skus) {
        this.skus = skus;
    }

    /**
     * @return String 取得域 recomPoint 的方法。
     */
    public String getRecomPoint() {
        return this.recomPoint;
    }

    /**
     * @param recomPoint 对域 recomPoint 的设置方法.
     */
    public void setRecomPoint(String recomPoint) {
        this.recomPoint = recomPoint;
    }

    /**
     * @return Long 取得域 skuId 的方法。
     */
    public Long getSkuId() {
        return this.skuId;
    }

    /**
     * @param skuId 对域 skuId 的设置方法.
     */
    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    /**
     * @return Integer 取得域 quantity 的方法。
     */
    public Integer getQuantity() {
        return this.quantity;
    }

    /**
     * @param quantity 对域 quantity 的设置方法.
     */
    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    @JsonProperty(value = "drug_type")
    public Integer getDrugType() {
        return this.drugType;
    }

    public void setDrugType(Integer drugType) {
        this.drugType = drugType;
    }

    @JsonProperty(value = "isRecommend")
    public Integer getIsRecommend() {
        return this.isRecommend;
    }

    public void setIsRecommend(Integer isRecommend) {
        this.isRecommend = isRecommend;
    }

    public Long getReplacePid() {
        return this.replacePid;
    }

    public void setReplacePid(Long replacePid) {
        this.replacePid = replacePid;
    }

    @JsonProperty(value = "zhengda")
    public boolean isZhengda() {
        return this.isZhengda;
    }

    public void setZhengda(boolean isZhengda) {
        this.isZhengda = isZhengda;
    }

    public boolean isModifyFlag() {
        return this.modifyFlag;
    }

    public void setModifyFlag(boolean modifyFlag) {
        this.modifyFlag = modifyFlag;
    }

    public boolean isModified() {
        return this.modified;
    }

    public void setModified(boolean modified) {
        this.modified = modified;
    }

    public String getMarketPoint() {
        return this.marketPoint;
    }

    public void setMarketPoint(String marketPoint) {
        this.marketPoint = marketPoint;
    }

    public Integer getShowCommission() {
        return this.showCommission;
    }

    public void setShowCommission(Integer showCommission) {
        this.showCommission = showCommission;
    }

    public Long getBoxId() {
        return this.boxId;
    }

    public void setBoxId(Long boxId) {
        this.boxId = boxId;
    }

    public Integer getShowRecomCollect() {
        return this.showRecomCollect;
    }

    public void setShowRecomCollect(Integer showRecomCollect) {
        this.showRecomCollect = showRecomCollect;
    }

    public String getRecomName() {
        return this.recomName;
    }

    public void setRecomName(String recomName) {
        this.recomName = recomName;
    }

    public String getQuantityUnit() {
        return this.quantityUnit;
    }

    public void setQuantityUnit(String quantityUnit) {
        this.quantityUnit = quantityUnit;
    }
}
